introduction to handling exceptions in python